C0C0C0rvizssh-keygenrqt_consoleroslaunchrvizrostopiccatkin_makerosrunrostestrospackrosparamrosdeppkg_nameadafruit_driversanti_instagramcar_supervisordagu_carground_projectionjoy_mapperlane_controllane_filterline_detectorpi_cameraadafruit_imuapriltags_rosduckie_rr_bridgeduckiebot_visualizerduckietown_descriptionbag_stamperkinematicsvisual_odometryled_detectionled_emitterled_interpreterled_joy_mapperrgb_ledtraffic_lightlocalizationmdoapparallel_autonomyscene_segmentationveh_coordinatorvehicle_detectionvisual_odometry_lineC0The trip begins with acquiring the parts. Here, we provide a link to all bits and pieces that are needed to build a Duckiebot, along with their price tag.
In general, keep in mind that:
Cost: USD 193.50 + Shipping Fees (configuration D17-0)
Requires: Time: 15 days (average shipping for cheapest choice of components)
Results:
Add a different “Tools” section in the table (e.g., solderer), or add in the resoruces beginning snippet; Differentiate pricing for bulk vs detail purchase (?)
| Chassis | USD 20 |
| Camera with 160-FOV Fisheye Lens | USD 22 |
| Camera Mount | USD 8.50 |
| 300mm Camera Cable | USD 2 |
| Raspberry Pi 3 - Model B | USD 35 |
| Heat Sinks | USD 5 |
| Power supply | USD 7.50 |
| 16 GB Class 10 MicroSD Card | USD 20 |
| Mirco SD card reader | USD 6 |
| Tiny 32GB USB Flash Drive | USD 12.50 |
| Stepper Motor HAT | USD 22.50 |
Stacking Headers 2 for D17-1, 1 otherwise |
USD 2.50/piece |
| Battery | USD 20 |
| 16 Nylon Standoffs (M2.5 12mm F 6mm M | USD 0.05/piece |
| 4 Nylon Hex Nuts (M2.5) | USD 0.02/piece |
| 4 Nylon Screws (M2.5x10) | USD 0.05/piece |
| 2 Zip Ties (300x5mm) | USD 8.99 |
5-GHz Wifi Adapter (D17-0+w) |
USD 20 |
Joypad (D17-0+j) |
USD 10.50 |
20 Female-Female Jumper Wires (300mm) (D17-1) |
USD 8 |
Male-Male Jumper Wire (150mm) (D17-1) |
USD 1.95 |
LEDs (D17-1) |
USD 10 |
LED HAT (D17-1) |
USD 28.20 for 3 pieces |
PWM/Servo HAT (D17-1) |
USD 17.50 |
40 pin female header (D17-1) |
USD 1.50 |
Bumpers (D17-1) |
TBD (custom made) |
5 4 pin female header (D17-1) |
USD 0.60/piece |
2 16 pin male header (D17-1) |
USD 0.61/piece |
12 pin male header (D17-1) |
USD 0.48/piece |
3 pin male header (D17-1) |
USD 0.10/piece |
2 pin female shunt jumper (D17-1) |
USD 2/piece |
5 200 Ohm resistors (D17-1) |
USD 0.10/piece |
10 130 Ohm resistors (D17-1) |
USD 0.10/piece |
Total for D17-0 configuration |
USD 191.50 |
Total for D17-0+w configuration |
USD 211.50 |
Total for D17-0+j configuration |
USD 222 |
Total for D17-1 configuration |
USD 281+Bumpers |
We selected the Magician Chassis as the basic chassis for the robot (Figure 11).
We chose it because it has a double-decker configuration, and so we can put the battery in the lower part.
The chassis pack includes the motors and wheels as well as the structural part.
The price for this in the US is about USD 15-30.
The Raspberry Pi is the central computer of the Duckiebot. Duckiebot version D17 uses Model B (Figure 12) (A1.2GHz 64-bit quad-core ARMv8 CPU, 1GB RAM), a small but powerful computer.
The price for this in the US is about USD 35.
We want a hard-wired power source (5VDC, 2.4A, Micro USB) to supply the Raspberry Pi (Figure 13).
The price for this in the US is about USD 5-10.
The Raspberry Pi will heat up significantly during use. It is warmly recommended to add heat sinks, as in Figure 14. Since we will be stacking HATs on top of the Raspberry Pi with 15 mm standoffs, the maximum height of the heat sinks should be well below 15 mm. The chip dimensions are 15x15mm and 10x10mm.
The MicroSD card (Figure 15) is the hard disk of the Raspberry Pi. 16 Gigabytes of capacity are sufficient for the system image.
A microSD card reader (Figure 16) is useful to copy the system image to a Duckiebot from a computer to the Raspberry Pi microSD card, when the computer does not have a native SD card slot.
This “external” hard drive (Figure 17) is very convenient to store logs during experiments and later port them to a workstation for analysis. It provides storage capacity and faster data transfer than the MicroSD card.
The Camera is the main sensor of the Duckiebot. Version D17 equips a 5 Mega Pixels 1080p camera with wide field of view ($160^\circ$) fisheye lens (Figure 18).
The camera mount (Figure 19) serves to keep the camera looking forward at the right angle to the road (looking slightly down). The front cover is not essential.
A longer (300 mm) camera cable Figure 20 make assembling the Duckiebot easier, allowing for more freedom in the relative positioning of camera and computational stack.
The Edimax AC1200 EW-7822ULC 5-GHz WiFi adpater (Figure 21) boosts the connectivity of the Duckiebot, especially useful in busy Duckietowns (e.g., classroom).
The joypad is used to manually remote control the Duckiebot. Any 2.4 GHz wireless controller (with a tiny USB dongle) will do.
The model link in the table (Figure 22) does not include batteries (required: 2 AA 1.5V).
Add figure with 2 AA batteries
We use the DC Stepper motor HAT (Figure 22) to control the DC motors that drive the wheels. This item will require soldering to be functional.
We use long 20x2 stacking headers (Figure 24) to connect the Raspberry Pi with the other HATs, creating a stack. This item will require soldering to be functional.
In configuration D17-1, we need 2 stacking headers.
In all configurations, we use only 1 stacking header.
The battery (Figure 25) provides power to the Duckiebot.
We choose this battery because it has a good combination of size (to fit in the lower deck of the Magician Chassis), high output amperage (2.4A and 2.1A at 5V DC) over two USB outputs, a good capacity (10400 mAh) at an affordable price (USD 20).
We use non electrically conductive standoffs (M2.5 12mm F 6mm M), nuts (M2.5), and screws (M2.5x10mm) to hold the Raspberry Pi to the chassis and the HATs stacked on top of the Raspberry Pi.
In configuration D17-0 and D17-0+w or D17-0+j, the Duckiebot requires 8 standoffs, 4 nuts and 4 screws.
In configuration D17-1, the Duckiebot requires 16 standoffs, 4 nuts and 4 screws.
Two 300x5mm zip ties are going to be useful to keep the battery at the lower deck from moving around.
In configuration D17-1, the Duckiebot is equipped with 5 RGB LEDs. LEDs can be used to signal to other Duckiebots, or just make fancy patterns.
The pack of LEDs linked in the table above holds 10 LEDs, enough for two Duckiebots.
In configuration D17-1, the LED HAT (Figure 29) provides an interface for our RGB LEDs and the computational stack. This board is a daughterboard for the Adafruit 16-Channel PWM/Servo HAT, and enables connection with additional gadgets such as ADS1015 12 Bit 4 Channel ADC, Monochrome 128x32 I2C OLED graphic display, and Adafruit 9-DOF IMU Breakout - L3GD20H+LSM303. This item will require soldering to be functional.
This board is custom degined and can only be ordered in minimum runs of 3 pieces. The price scales down quickly with quantity, and lead times may be significant, so it is better to buy these boards in bulk.
In configuration D17-1, the PWM/Servo HAT HAT (Figure 30) mates to the LED HAT and provides the signals to control the LEDs, without taking computational resources away from the Rasperry Pi itself. This item will require soldering to be functional.
In configuration D17-1, the Duckiebot requires one male-male jumper wire (Figure 31) to power the DC Stepper Motor HAT from the PWM/Servo HAT.
In configuration D17-1, 20 Female-Female Jumper Wires (Figure 32) are necessary to connect 5 LEDs to the LED HAT.
These bumpers are designed to keep the LEDs in place and are therefore used only in configuration D17-1. They are custom designed parts, so they must be produced and cannot be bought. We used laser cutting facilities. Our design files are available [here].
add links to .sldprt files once confirmed final version
5 4 pin female header
2 16 pin male header
1 12 pin male header
1 3 pin male header
1 2 pin female shunt jumper
5 200 Ohm resistors
10 130 Ohm resistors
These items will require soldering to be functional.
Clean up